FC4(
  (backbone1): RepViT(
    (features): ModuleList(
      (0): Sequential(
        (0): Conv2d_BN(
          (c): Conv2d(3, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (1): GELU(approximate=none)
        (2): Conv2d_BN(
          (c): Conv2d(16, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
      )
      (1): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), groups=32)
            (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(32, 8, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(8, 32, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (2): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), groups=32)
            (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): Identity()
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (3): RepViTBlock(
        (token_mixer): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(32, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=32, bias=False)
            (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): Identity()
        )
        (convbn): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (4): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=64, bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), groups=64)
            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(64, 16, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(16, 64, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (5): RepViTBlock(
        (token_mixer): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(64, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=64, bias=False)
            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): Identity()
        )
        (convbn): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (6): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), groups=128)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (7): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), groups=128)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (8): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), groups=128)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (9): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), groups=128)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (10): RepViTBlock(
        (token_mixer): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=128, bias=False)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): Identity()
        )
        (convbn): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(256, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (11): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=256, bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), groups=256)
            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(256, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
    )
  )
  (backbone2): RepViT(
    (features): ModuleList(
      (0): Sequential(
        (0): Conv2d_BN(
          (c): Conv2d(3, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (1): GELU(approximate=none)
        (2): Conv2d_BN(
          (c): Conv2d(16, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
          (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
      )
      (1): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), groups=32)
            (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(32, 8, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(8, 32, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (2): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=32, bias=False)
              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), groups=32)
            (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): Identity()
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (3): RepViTBlock(
        (token_mixer): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(32, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=32, bias=False)
            (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): Identity()
        )
        (convbn): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (4): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=64, bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), groups=64)
            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(64, 16, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(16, 64, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (5): RepViTBlock(
        (token_mixer): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(64, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=64, bias=False)
            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): Identity()
        )
        (convbn): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(64, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (6): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), groups=128)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (7): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), groups=128)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (8): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), groups=128)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (9): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), groups=128)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (10): RepViTBlock(
        (token_mixer): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=128, bias=False)
            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): Identity()
        )
        (convbn): Sequential(
          (0): Conv2d_BN(
            (c): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(256, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
      (11): RepViTBlock(
        (token_mixer): Sequential(
          (0): RepVGGDW(
            (conv): Conv2d_BN(
              (c): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=256, bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (conv1): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), groups=256)
            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          )
          (1): SEModule(
            (fc1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1))
            (bn): Identity()
            (act): ReLU(inplace=True)
            (fc2): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1))
            (gate): Sigmoid()
          )
        )
        (convbn): Sequential(
          (0): Identity()
        )
        (channel_mixer): Residual(
          (m): Sequential(
            (0): Conv2d_BN(
              (c): Conv2d(256, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
            (1): GELU(approximate=none)
            (2): Conv2d_BN(
              (c): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
              (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
            )
          )
        )
      )
    )
  )
  (fc): Sequential(
    (0): Linear(in_features=512, out_features=128, bias=True)
    (1): Sigmoid()
    (2): Linear(in_features=128, out_features=3, bias=True)
    (3): Sigmoid()
  )
)